﻿using Framework.Ddd.Application.Contracts.Dtos;
using my.abp.Domain.Shared.Entities;
using my.abp.Domain.Shared.Enums;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace my.abp.Application.Contracts.Dtos.Dict
{
	public class DictTypeInput : BaseIdInput
	{
		/// <summary>
		/// 状态
		/// </summary>
		public StatusEnum Status { get; set; }
	}

	public class PageDictTypeInput : PagedAllResultRequestDto
	{
		/// <summary>
		/// 名称
		/// </summary>
		public string? Name { get; set; }

		/// <summary>
		/// 编码
		/// </summary>
		public string? Code { get; set; }
	}

	public class AddDictTypeInput
	{
		/// <summary>
		/// 名称
		/// </summary>
		public virtual string Name { get; set; }

		/// <summary>
		/// 编码
		/// </summary>
		public virtual string Code { get; set; }

		/// <summary>
		/// 排序
		/// </summary>
		public int OrderNo { get; set; } = 100;

		/// <summary>
		/// 备注
		/// </summary>
		public string? Remark { get; set; }

		/// <summary>
		/// 状态
		/// </summary>
		public StatusEnum Status { get; set; } = StatusEnum.Enable;

		/// <summary>
		/// 字典值集合
		/// </summary>
		public List<SysDictData>? Children { get; set; }
	}

	public class UpdateDictTypeInput : AddDictTypeInput
	{
		public long Id { get; set; }
	}

	public class DeleteDictTypeInput : BaseIdInput
	{
	}

	public class GetDataDictTypeInput
	{
		/// <summary>
		/// 编码
		/// </summary>
		[Required(ErrorMessage = "字典类型编码不能为空")]
		public string Code { get; set; }
	}
}
